Load Data

dataset <- read.delim("raw_data/Figure5B.txt", stringsAsFactors = FALSE)

dataset$genotype <- gsub("Δ","d",gsub(" ", "", dataset$genotype))
dataset$genotype <- factor(dataset$genotype)
dataset$Experiment <- factor(rep(paste0("exp", 1:(length(dataset$genotype)/length(levels(dataset$genotype)))), each=length(unique(dataset$genotype))))

dataset$BRCA <-  factor(gsub("\\+.*","",dataset$genotype))
dataset$siRNA <-  factor(gsub(".*\\+","",dataset$genotype))

dataset$UID <- factor(paste(dataset$Experiment, dataset$siRNA, dataset$BRCA))
dataset$GSID <- factor(paste(dataset$siRNA, dataset$BRCA))

# wide format
kable(dataset, row.names = F)
genotype NT X30nM X300nM X3000nM Experiment BRCA siRNA UID GSID
d11/heterozyg+siCtrl 1816 1532 1328 1276 exp1 d11/heterozyg siCtrl exp1 siCtrl d11/heterozyg siCtrl d11/heterozyg
d11/heterozyg+siALC1 1288 820 772 560 exp1 d11/heterozyg siALC1 exp1 siALC1 d11/heterozyg siALC1 d11/heterozyg
d11/d11+siCtrl 1040 632 356 51 exp1 d11/d11 siCtrl exp1 siCtrl d11/d11 siCtrl d11/d11
d11/d11+siALC1 600 296 220 17 exp1 d11/d11 siALC1 exp1 siALC1 d11/d11 siALC1 d11/d11
d11/heterozyg+siCtrl 1240 1196 1036 964 exp2 d11/heterozyg siCtrl exp2 siCtrl d11/heterozyg siCtrl d11/heterozyg
d11/heterozyg+siALC1 1900 1048 840 656 exp2 d11/heterozyg siALC1 exp2 siALC1 d11/heterozyg siALC1 d11/heterozyg
d11/d11+siCtrl 956 360 304 5 exp2 d11/d11 siCtrl exp2 siCtrl d11/d11 siCtrl d11/d11
d11/d11+siALC1 832 336 106 4 exp2 d11/d11 siALC1 exp2 siALC1 d11/d11 siALC1 d11/d11
d11/heterozyg+siCtrl 1162 1088 940 889 exp3 d11/heterozyg siCtrl exp3 siCtrl d11/heterozyg siCtrl d11/heterozyg
d11/heterozyg+siALC1 1232 832 605 356 exp3 d11/heterozyg siALC1 exp3 siALC1 d11/heterozyg siALC1 d11/heterozyg
d11/d11+siCtrl 984 580 324 10 exp3 d11/d11 siCtrl exp3 siCtrl d11/d11 siCtrl d11/d11
d11/d11+siALC1 724 320 124 6 exp3 d11/d11 siALC1 exp3 siALC1 d11/d11 siALC1 d11/d11
library(reshape2)
# reshape to long format
dataset <- melt(dataset, variable.name = "Treatment", value.name = "Counts")

dataset$siRNA <- relevel(dataset$siRNA, ref = "siCtrl")
dataset$BRCA <- relevel(dataset$BRCA, ref = "d11/heterozyg")
dataset$UID <- relevel(dataset$UID, ref = "exp1 siCtrl d11/heterozyg")

dataset$Olaparib <- gsub("NT","1",dataset$Treatment)
dataset$Olaparib <- gsub("X|nM","",dataset$Olaparib)
dataset$Olaparib <- log10(as.integer(dataset$Olaparib))




dataset$Offset <- NA
for(uid in levels(dataset$UID)){
        dataset$Offset[dataset$UID == uid] <- mean(dataset$Counts[dataset$UID == uid])
}

dataset$NormCounts <- dataset$Counts / dataset$Offset



dataset$Offset2 <- NA
for(gsid in levels(dataset$GSID)){
        dataset$Offset2[dataset$GSID == gsid] <- mean(dataset$NormCounts[dataset$GSID == gsid & dataset$Olaparib == 0])
}

dataset$NormCounts2 <- dataset$NormCounts / dataset$Offset2



# long format
kable(dataset, row.names = F)
genotype Experiment BRCA siRNA UID GSID Treatment Counts Olaparib Offset NormCounts Offset2 NormCounts2
d11/heterozyg+siCtrl exp1 d11/heterozyg siCtrl exp1 siCtrl d11/heterozyg siCtrl d11/heterozyg NT 1816 0.000000 1488.00 1.2204301 1.159350 1.0526849
d11/heterozyg+siALC1 exp1 d11/heterozyg siALC1 exp1 siALC1 d11/heterozyg siALC1 d11/heterozyg NT 1288 0.000000 860.00 1.4976744 1.612312 0.9288986
d11/d11+siCtrl exp1 d11/d11 siCtrl exp1 siCtrl d11/d11 siCtrl d11/d11 NT 1040 0.000000 519.75 2.0009620 2.142651 0.9338719
d11/d11+siALC1 exp1 d11/d11 siALC1 exp1 siALC1 d11/d11 siALC1 d11/d11 NT 600 0.000000 283.25 2.1182701 2.396373 0.8839484
d11/heterozyg+siCtrl exp2 d11/heterozyg siCtrl exp2 siCtrl d11/heterozyg siCtrl d11/heterozyg NT 1240 0.000000 1109.00 1.1181244 1.159350 0.9644409
d11/heterozyg+siALC1 exp2 d11/heterozyg siALC1 exp2 siALC1 d11/heterozyg siALC1 d11/heterozyg NT 1900 0.000000 1111.00 1.7101710 1.612312 1.0606948
d11/d11+siCtrl exp2 d11/d11 siCtrl exp2 siCtrl d11/d11 siCtrl d11/d11 NT 956 0.000000 406.25 2.3532308 2.142651 1.0982797
d11/d11+siALC1 exp2 d11/d11 siALC1 exp2 siALC1 d11/d11 siALC1 d11/d11 NT 832 0.000000 319.50 2.6040689 2.396373 1.0866709
d11/heterozyg+siCtrl exp3 d11/heterozyg siCtrl exp3 siCtrl d11/heterozyg siCtrl d11/heterozyg NT 1162 0.000000 1019.75 1.1394950 1.159350 0.9828741
d11/heterozyg+siALC1 exp3 d11/heterozyg siALC1 exp3 siALC1 d11/heterozyg siALC1 d11/heterozyg NT 1232 0.000000 756.25 1.6290909 1.612312 1.0104067
d11/d11+siCtrl exp3 d11/d11 siCtrl exp3 siCtrl d11/d11 siCtrl d11/d11 NT 984 0.000000 474.50 2.0737619 2.142651 0.9678484
d11/d11+siALC1 exp3 d11/d11 siALC1 exp3 siALC1 d11/d11 siALC1 d11/d11 NT 724 0.000000 293.50 2.4667802 2.396373 1.0293807
d11/heterozyg+siCtrl exp1 d11/heterozyg siCtrl exp1 siCtrl d11/heterozyg siCtrl d11/heterozyg X30nM 1532 1.477121 1488.00 1.0295699 1.159350 0.8880580
d11/heterozyg+siALC1 exp1 d11/heterozyg siALC1 exp1 siALC1 d11/heterozyg siALC1 d11/heterozyg X30nM 820 1.477121 860.00 0.9534884 1.612312 0.5913795
d11/d11+siCtrl exp1 d11/d11 siCtrl exp1 siCtrl d11/d11 siCtrl d11/d11 X30nM 632 1.477121 519.75 1.2159692 2.142651 0.5675068
d11/d11+siALC1 exp1 d11/d11 siALC1 exp1 siALC1 d11/d11 siALC1 d11/d11 X30nM 296 1.477121 283.25 1.0450132 2.396373 0.4360812
d11/heterozyg+siCtrl exp2 d11/heterozyg siCtrl exp2 siCtrl d11/heterozyg siCtrl d11/heterozyg X30nM 1196 1.477121 1109.00 1.0784491 1.159350 0.9302188
d11/heterozyg+siALC1 exp2 d11/heterozyg siALC1 exp2 siALC1 d11/heterozyg siALC1 d11/heterozyg X30nM 1048 1.477121 1111.00 0.9432943 1.612312 0.5850569
d11/d11+siCtrl exp2 d11/d11 siCtrl exp2 siCtrl d11/d11 siCtrl d11/d11 X30nM 360 1.477121 406.25 0.8861538 2.142651 0.4135781
d11/d11+siALC1 exp2 d11/d11 siALC1 exp2 siALC1 d11/d11 siALC1 d11/d11 X30nM 336 1.477121 319.50 1.0516432 2.396373 0.4388479
d11/heterozyg+siCtrl exp3 d11/heterozyg siCtrl exp3 siCtrl d11/heterozyg siCtrl d11/heterozyg X30nM 1088 1.477121 1019.75 1.0669282 1.159350 0.9202815
d11/heterozyg+siALC1 exp3 d11/heterozyg siALC1 exp3 siALC1 d11/heterozyg siALC1 d11/heterozyg X30nM 832 1.477121 756.25 1.1001653 1.612312 0.6823526
d11/d11+siCtrl exp3 d11/d11 siCtrl exp3 siCtrl d11/d11 siCtrl d11/d11 X30nM 580 1.477121 474.50 1.2223393 2.142651 0.5704797
d11/d11+siALC1 exp3 d11/d11 siALC1 exp3 siALC1 d11/d11 siALC1 d11/d11 X30nM 320 1.477121 293.50 1.0902896 2.396373 0.4549749
d11/heterozyg+siCtrl exp1 d11/heterozyg siCtrl exp1 siCtrl d11/heterozyg siCtrl d11/heterozyg X300nM 1328 2.477121 1488.00 0.8924731 1.159350 0.7698048
d11/heterozyg+siALC1 exp1 d11/heterozyg siALC1 exp1 siALC1 d11/heterozyg siALC1 d11/heterozyg X300nM 772 2.477121 860.00 0.8976744 1.612312 0.5567622
d11/d11+siCtrl exp1 d11/d11 siCtrl exp1 siCtrl d11/d11 siCtrl d11/d11 X300nM 356 2.477121 519.75 0.6849447 2.142651 0.3196715
d11/d11+siALC1 exp1 d11/d11 siALC1 exp1 siALC1 d11/d11 siALC1 d11/d11 X300nM 220 2.477121 283.25 0.7766990 2.396373 0.3241144
d11/heterozyg+siCtrl exp2 d11/heterozyg siCtrl exp2 siCtrl d11/heterozyg siCtrl d11/heterozyg X300nM 1036 2.477121 1109.00 0.9341749 1.159350 0.8057748
d11/heterozyg+siALC1 exp2 d11/heterozyg siALC1 exp2 siALC1 d11/heterozyg siALC1 d11/heterozyg X300nM 840 2.477121 1111.00 0.7560756 1.612312 0.4689387
d11/d11+siCtrl exp2 d11/d11 siCtrl exp2 siCtrl d11/d11 siCtrl d11/d11 X300nM 304 2.477121 406.25 0.7483077 2.142651 0.3492438
d11/d11+siALC1 exp2 d11/d11 siALC1 exp2 siALC1 d11/d11 siALC1 d11/d11 X300nM 106 2.477121 319.50 0.3317684 2.396373 0.1384461
d11/heterozyg+siCtrl exp3 d11/heterozyg siCtrl exp3 siCtrl d11/heterozyg siCtrl d11/heterozyg X300nM 940 2.477121 1019.75 0.9217946 1.159350 0.7950961
d11/heterozyg+siALC1 exp3 d11/heterozyg siALC1 exp3 siALC1 d11/heterozyg siALC1 d11/heterozyg X300nM 605 2.477121 756.25 0.8000000 1.612312 0.4961818
d11/d11+siCtrl exp3 d11/d11 siCtrl exp3 siCtrl d11/d11 siCtrl d11/d11 X300nM 324 2.477121 474.50 0.6828240 2.142651 0.3186818
d11/d11+siALC1 exp3 d11/d11 siALC1 exp3 siALC1 d11/d11 siALC1 d11/d11 X300nM 124 2.477121 293.50 0.4224872 2.396373 0.1763028
d11/heterozyg+siCtrl exp1 d11/heterozyg siCtrl exp1 siCtrl d11/heterozyg siCtrl d11/heterozyg X3000nM 1276 3.477121 1488.00 0.8575269 1.159350 0.7396619
d11/heterozyg+siALC1 exp1 d11/heterozyg siALC1 exp1 siALC1 d11/heterozyg siALC1 d11/heterozyg X3000nM 560 3.477121 860.00 0.6511628 1.612312 0.4038689
d11/d11+siCtrl exp1 d11/d11 siCtrl exp1 siCtrl d11/d11 siCtrl d11/d11 X3000nM 51 3.477121 519.75 0.0981241 2.142651 0.0457956
d11/d11+siALC1 exp1 d11/d11 siALC1 exp1 siALC1 d11/d11 siALC1 d11/d11 X3000nM 17 3.477121 283.25 0.0600177 2.396373 0.0250452
d11/heterozyg+siCtrl exp2 d11/heterozyg siCtrl exp2 siCtrl d11/heterozyg siCtrl d11/heterozyg X3000nM 964 3.477121 1109.00 0.8692516 1.159350 0.7497750
d11/heterozyg+siALC1 exp2 d11/heterozyg siALC1 exp2 siALC1 d11/heterozyg siALC1 d11/heterozyg X3000nM 656 3.477121 1111.00 0.5904590 1.612312 0.3662188
d11/d11+siCtrl exp2 d11/d11 siCtrl exp2 siCtrl d11/d11 siCtrl d11/d11 X3000nM 5 3.477121 406.25 0.0123077 2.142651 0.0057441
d11/d11+siALC1 exp2 d11/d11 siALC1 exp2 siALC1 d11/d11 siALC1 d11/d11 X3000nM 4 3.477121 319.50 0.0125196 2.396373 0.0052244
d11/heterozyg+siCtrl exp3 d11/heterozyg siCtrl exp3 siCtrl d11/heterozyg siCtrl d11/heterozyg X3000nM 889 3.477121 1019.75 0.8717823 1.159350 0.7519579
d11/heterozyg+siALC1 exp3 d11/heterozyg siALC1 exp3 siALC1 d11/heterozyg siALC1 d11/heterozyg X3000nM 356 3.477121 756.25 0.4707438 1.612312 0.2919682
d11/d11+siCtrl exp3 d11/d11 siCtrl exp3 siCtrl d11/d11 siCtrl d11/d11 X3000nM 10 3.477121 474.50 0.0210748 2.142651 0.0098359
d11/d11+siALC1 exp3 d11/d11 siALC1 exp3 siALC1 d11/d11 siALC1 d11/d11 X3000nM 6 3.477121 293.50 0.0204429 2.396373 0.0085308

Plot Data

library(ggplot2)

# raw data
ggplot(dataset, aes(x=Olaparib, y=Counts)) + 
        theme_bw() +
        theme(panel.grid=element_blank(), text = element_text(size=14)) +
        geom_smooth(method=lm, formula = y ~ poly(x,2), se=FALSE, aes(colour=BRCA)) +
        geom_point(aes(colour=BRCA, shape=Experiment), size=2) +        
        facet_grid(. ~ siRNA) +
        xlab(label = "Olaparib (log10 nM)") +
        scale_shape_manual(values=15:20) +
        scale_color_manual(values=c("#000000","#FF0000"))

# NormCounts Linear
ggplot(dataset, aes(x=Olaparib, y=NormCounts, color=BRCA)) + 
        theme_bw() +
        theme(panel.grid=element_blank(), text = element_text(size=14)) +
        geom_point(aes(colour=BRCA), size=2) +        
        geom_smooth(method=lm, formula = y ~ x, se=FALSE) +
        facet_grid(. ~ siRNA) +
        xlab(label = "Olaparib (log10 nM)") +
        scale_color_manual(values=c("#000000","#FF0000"))

# NormCounts2 Linear
ggplot(dataset, aes(x=Olaparib, y=NormCounts2, color=BRCA)) + 
        theme_bw() +
        theme(panel.grid=element_blank(), text = element_text(size=14)) +
        geom_point(aes(colour=BRCA), size=2) +        
        geom_smooth(method=lm, formula = y ~ x, se=FALSE) +
        facet_grid(. ~ siRNA) +
        xlab(label = "Olaparib (log10 nM)") +
        scale_color_manual(values=c("#000000","#FF0000"))

# NormCounts Quadratic
ggplot(dataset, aes(x=Olaparib, y=NormCounts, color=BRCA)) + 
        theme_bw() +
        theme(panel.grid=element_blank(), text = element_text(size=14)) +
        geom_point(aes(colour=BRCA), size=2) +        
        geom_smooth(method=lm, formula = y ~ poly(x,2), se=FALSE) +
        facet_grid(. ~ siRNA) +
        xlab(label = "Olaparib (log10 nM)")+
        scale_color_manual(values=c("#000000","#FF0000"))

# NormCounts2 Quadratic
ggplot(dataset, aes(x=Olaparib, y=NormCounts2, color=BRCA)) + 
        theme_bw() +
        theme(panel.grid=element_blank(), text = element_text(size=14)) +
        geom_point(aes(colour=BRCA), size=2) +        
        geom_smooth(method=lm, formula = y ~ poly(x,2), se=FALSE) +
        facet_grid(. ~ siRNA) +
        xlab(label = "Olaparib (log10 nM)") +
        scale_color_manual(values=c("#000000","#FF0000"))

# NormCounts Cubic
ggplot(dataset, aes(x=Olaparib, y=NormCounts, color=BRCA)) + 
        theme_bw() +
        theme(panel.grid=element_blank(), text = element_text(size=14)) +
        geom_point(aes(colour=BRCA), size=2) +        
        geom_smooth(method=lm, formula = y ~ poly(x,3), se=FALSE) +
        facet_grid(. ~ siRNA) +
        xlab(label = "Olaparib (log10 nM)")+
        scale_color_manual(values=c("#000000","#FF0000"))

# NormCounts2 Cubic
ggplot(dataset, aes(x=Olaparib, y=NormCounts2, color=BRCA)) + 
        theme_bw() +
        theme(panel.grid=element_blank(), text = element_text(size=14)) +
        geom_point(aes(colour=BRCA), size=2) +        
        geom_smooth(method=lm, formula = y ~ poly(x,3), se=FALSE) +
        facet_grid(. ~ siRNA) +
        xlab(label = "Olaparib (log10 nM)") +
        scale_color_manual(values=c("#000000","#FF0000"))

library(Cairo)


cairo_pdf("Figure5B.pdf", width = 6, height = 4, family = "Arial")

ggplot(dataset, aes(x=Olaparib, y=NormCounts2)) + 
        theme_bw() +
        theme(panel.grid.major=element_blank(), panel.grid.minor=element_blank(), 
              axis.line = element_line(colour = "black"), text = element_text(size=14),
              panel.border = element_blank(), panel.background = element_blank()) +
        geom_point(aes(colour = BRCA, shape = siRNA), size=1.75) +
        geom_smooth(method=lm, formula = y ~ poly(x,3), se=TRUE, 
                    aes(group = GSID,colour = BRCA, linetype = siRNA), fill='#DDDDDD', size=0.5) +
        xlab(label = "Olaparib (log10 nM)") +
        ylab(label = "Normalized Counts") +
        scale_color_manual(values=c("#000000","#FF0000")) +
        guides(linetype = guide_legend(override.aes= list(color = "#555555"))) 

dev.off()
## quartz_off_screen 
##                 2

Models

library(MASS)
library(DHARMa)
library(lme4)
library(lmerTest)
library(bbmle)

Linear formula

fit1 <- lm(Counts ~ Experiment + Olaparib*BRCA*siRNA, data = dataset)
print(summary(fit1))
## 
## Call:
## lm(formula = Counts ~ Experiment + Olaparib * BRCA * siRNA, data = dataset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -259.05  -80.68  -19.32   83.93  475.42 
## 
## Coefficients:
##                                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                      1477.415     84.243  17.537  < 2e-16 ***
## Experimentexp2                    -51.312     54.445  -0.942 0.351912    
## Experimentexp3                   -151.750     54.445  -2.787 0.008255 ** 
## Olaparib                         -109.883     34.602  -3.176 0.002964 ** 
## BRCAd11/d11                      -434.626    110.534  -3.932 0.000345 ***
## siRNAsiALC1                        -1.518    110.534  -0.014 0.989114    
## Olaparib:BRCAd11/d11             -163.698     48.935  -3.345 0.001860 ** 
## Olaparib:siRNAsiALC1             -158.777     48.935  -3.245 0.002455 ** 
## BRCAd11/d11:siRNAsiALC1          -295.359    156.318  -1.889 0.066476 .  
## Olaparib:BRCAd11/d11:siRNAsiALC1  228.101     69.205   3.296 0.002131 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 154 on 38 degrees of freedom
## Multiple R-squared:  0.9197, Adjusted R-squared:  0.9007 
## F-statistic: 48.38 on 9 and 38 DF,  p-value: < 2.2e-16
cat("AIC: ", AIC(fit1))
## AIC:  630.5489
simres <- simulateResiduals(fittedModel = fit1)
plot(simres)

fit2 <- lm(NormCounts ~ Olaparib*BRCA*siRNA, data = dataset)
print(summary(fit2))
## 
## Call:
## lm(formula = NormCounts ~ Olaparib * BRCA * siRNA, data = dataset)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.33845 -0.05228 -0.00645  0.07065  0.34049 
## 
## Coefficients:
##                                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                       1.16514    0.07281  16.003  < 2e-16 ***
## Olaparib                         -0.08889    0.03223  -2.758 0.008730 ** 
## BRCAd11/d11                       0.93086    0.10296   9.041 3.26e-11 ***
## siRNAsiALC1                       0.38217    0.10296   3.712 0.000627 ***
## Olaparib:BRCAd11/d11             -0.50104    0.04558 -10.992 1.18e-13 ***
## Olaparib:siRNAsiALC1             -0.20571    0.04558  -4.513 5.51e-05 ***
## BRCAd11/d11:siRNAsiALC1          -0.21460    0.14561  -1.474 0.148372    
## Olaparib:BRCAd11/d11:siRNAsiALC1  0.11551    0.06446   1.792 0.080729 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1434 on 40 degrees of freedom
## Multiple R-squared:  0.9561, Adjusted R-squared:  0.9484 
## F-statistic: 124.5 on 7 and 40 DF,  p-value: < 2.2e-16
cat("AIC: ", AIC(fit2))
## AIC:  -40.94425
simres <- simulateResiduals(fittedModel = fit2)
plot(simres)

fit3 <- lm(NormCounts2 ~ Olaparib*BRCA*siRNA, data = dataset)
print(summary(fit3))
## 
## Call:
## lm(formula = NormCounts2 ~ Olaparib * BRCA * siRNA, data = dataset)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.157957 -0.038740 -0.003856  0.047553  0.142085 
## 
## Coefficients:
##                                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                       1.00500    0.03461  29.038  < 2e-16 ***
## Olaparib                         -0.07667    0.01532  -5.004 1.17e-05 ***
## BRCAd11/d11                      -0.02677    0.04894  -0.547  0.58749    
## siRNAsiALC1                      -0.04531    0.04894  -0.926  0.36015    
## Olaparib:BRCAd11/d11             -0.19866    0.02167  -9.168 2.22e-11 ***
## Olaparib:siRNAsiALC1             -0.10605    0.02167  -4.894 1.66e-05 ***
## BRCAd11/d11:siRNAsiALC1           0.01167    0.06922   0.169  0.86702    
## Olaparib:BRCAd11/d11:siRNAsiALC1  0.09756    0.03064   3.184  0.00282 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.06819 on 40 degrees of freedom
## Multiple R-squared:  0.9662, Adjusted R-squared:  0.9603 
## F-statistic: 163.4 on 7 and 40 DF,  p-value: < 2.2e-16
cat("AIC: ", AIC(fit3))
## AIC:  -112.3374
simres <- simulateResiduals(fittedModel = fit3)
plot(simres)

fit4 <- lmer(Counts ~ Olaparib*BRCA*siRNA + (1|UID), data = dataset)
print(summary(fit4))
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Counts ~ Olaparib * BRCA * siRNA + (1 | UID)
##    Data: dataset
## 
## REML criterion at convergence: 520.3
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -1.6072 -0.5520  0.0208  0.3678  3.1814 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  UID      (Intercept) 22312    149.37  
##  Residual              9446     97.19  
## Number of obs: 48, groups:  UID, 12
## 
## Fixed effects:
##                                  Estimate Std. Error       df t value Pr(>|t|)
## (Intercept)                      1409.728     99.350   11.409  14.189 1.34e-08
## Olaparib                         -109.883     21.838   32.000  -5.032 1.81e-05
## BRCAd11/d11                      -434.626    140.503   11.409  -3.093  0.00982
## siRNAsiALC1                        -1.518    140.503   11.409  -0.011  0.99157
## Olaparib:BRCAd11/d11             -163.698     30.884   32.000  -5.300 8.29e-06
## Olaparib:siRNAsiALC1             -158.777     30.884   32.000  -5.141 1.32e-05
## BRCAd11/d11:siRNAsiALC1          -295.359    198.701   11.409  -1.486  0.16427
## Olaparib:BRCAd11/d11:siRNAsiALC1  228.101     43.676   32.000   5.223 1.04e-05
##                                     
## (Intercept)                      ***
## Olaparib                         ***
## BRCAd11/d11                      ** 
## siRNAsiALC1                         
## Olaparib:BRCAd11/d11             ***
## Olaparib:siRNAsiALC1             ***
## BRCAd11/d11:siRNAsiALC1             
## Olaparib:BRCAd11/d11:siRNAsiALC1 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##              (Intr) Olaprb BRCAd11/11 sRNAAL Ol:BRCA11/11 O:RNAA BRCA11/11:
## Olaparib     -0.408                                                        
## BRCAd11/d11  -0.707  0.289                                                 
## siRNAsiALC1  -0.707  0.289  0.500                                          
## Ol:BRCA11/11  0.289 -0.707 -0.408     -0.204                               
## Olp:RNAALC1   0.289 -0.707 -0.204     -0.408  0.500                        
## BRCA11/11:R   0.500 -0.204 -0.707     -0.707  0.289        0.289           
## O:BRCA11/11: -0.204  0.500  0.289      0.289 -0.707       -0.707 -0.408
cat("AIC: ", AIC(fit4))
## AIC:  540.303
simres <- simulateResiduals(fittedModel = fit4)
plot(simres)

Quadratic formula

fit5 <- lm(Counts ~ Experiment + poly(Olaparib,2)*BRCA*siRNA, data = dataset)
print(summary(fit5))
## 
## Call:
## lm(formula = Counts ~ Experiment + poly(Olaparib, 2) * BRCA * 
##     siRNA, data = dataset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -244.21  -74.58  -10.13   84.73  419.11 
## 
## Coefficients:
##                                            Estimate Std. Error t value Pr(>|t|)
## (Intercept)                                 1273.27      55.31  23.019  < 2e-16
## Experimentexp2                               -51.31      55.31  -0.928  0.36012
## Experimentexp3                              -151.75      55.31  -2.743  0.00963
## poly(Olaparib, 2)1                          -978.05     312.90  -3.126  0.00362
## poly(Olaparib, 2)2                            21.63     312.90   0.069  0.94530
## BRCAd11/d11                                 -738.75      63.87 -11.566 2.48e-13
## siRNAsiALC1                                 -296.50      63.87  -4.642 4.97e-05
## poly(Olaparib, 2)1:BRCAd11/d11             -1457.05     442.51  -3.293  0.00232
## poly(Olaparib, 2)2:BRCAd11/d11                58.32     442.51   0.132  0.89592
## poly(Olaparib, 2)1:siRNAsiALC1             -1413.25     442.51  -3.194  0.00302
## poly(Olaparib, 2)2:siRNAsiALC1               407.20     442.51   0.920  0.36394
## BRCAd11/d11:siRNAsiALC1                      128.42      90.33   1.422  0.16422
## poly(Olaparib, 2)1:BRCAd11/d11:siRNAsiALC1  2030.29     625.80   3.244  0.00264
## poly(Olaparib, 2)2:BRCAd11/d11:siRNAsiALC1  -195.54     625.80  -0.312  0.75659
##                                               
## (Intercept)                                ***
## Experimentexp2                                
## Experimentexp3                             ** 
## poly(Olaparib, 2)1                         ** 
## poly(Olaparib, 2)2                            
## BRCAd11/d11                                ***
## siRNAsiALC1                                ***
## poly(Olaparib, 2)1:BRCAd11/d11             ** 
## poly(Olaparib, 2)2:BRCAd11/d11                
## poly(Olaparib, 2)1:siRNAsiALC1             ** 
## poly(Olaparib, 2)2:siRNAsiALC1                
## BRCAd11/d11:siRNAsiALC1                       
## poly(Olaparib, 2)1:BRCAd11/d11:siRNAsiALC1 ** 
## poly(Olaparib, 2)2:BRCAd11/d11:siRNAsiALC1    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 156.4 on 34 degrees of freedom
## Multiple R-squared:  0.9259, Adjusted R-squared:  0.8975 
## F-statistic: 32.67 on 13 and 34 DF,  p-value: 2.165e-15
cat("AIC: ", AIC(fit5))
## AIC:  634.7283
simres <- simulateResiduals(fittedModel = fit5)
plot(simres)

fit6 <- lm(NormCounts ~ poly(Olaparib,2)*BRCA*siRNA, data = dataset)
print(summary(fit6))
## 
## Call:
## lm(formula = NormCounts ~ poly(Olaparib, 2) * BRCA * siRNA, data = dataset)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.301786 -0.050527 -0.001414  0.047162  0.306589 
## 
## Coefficients:
##                                              Estimate Std. Error t value
## (Intercept)                                 1.000e+00  3.537e-02  28.271
## poly(Olaparib, 2)1                         -7.912e-01  2.451e-01  -3.229
## poly(Olaparib, 2)2                         -1.202e-03  2.451e-01  -0.005
## BRCAd11/d11                                 3.668e-16  5.002e-02   0.000
## siRNAsiALC1                                 3.621e-16  5.002e-02   0.000
## poly(Olaparib, 2)1:BRCAd11/d11             -4.460e+00  3.466e-01 -12.868
## poly(Olaparib, 2)2:BRCAd11/d11              2.154e-01  3.466e-01   0.621
## poly(Olaparib, 2)1:siRNAsiALC1             -1.831e+00  3.466e-01  -5.283
## poly(Olaparib, 2)2:siRNAsiALC1              4.240e-01  3.466e-01   1.224
## BRCAd11/d11:siRNAsiALC1                    -3.308e-16  7.074e-02   0.000
## poly(Olaparib, 2)1:BRCAd11/d11:siRNAsiALC1  1.028e+00  4.901e-01   2.098
## poly(Olaparib, 2)2:BRCAd11/d11:siRNAsiALC1  3.135e-01  4.901e-01   0.640
##                                            Pr(>|t|)    
## (Intercept)                                 < 2e-16 ***
## poly(Olaparib, 2)1                          0.00265 ** 
## poly(Olaparib, 2)2                          0.99611    
## BRCAd11/d11                                 1.00000    
## siRNAsiALC1                                 1.00000    
## poly(Olaparib, 2)1:BRCAd11/d11             4.94e-15 ***
## poly(Olaparib, 2)2:BRCAd11/d11              0.53825    
## poly(Olaparib, 2)1:siRNAsiALC1             6.31e-06 ***
## poly(Olaparib, 2)2:siRNAsiALC1              0.22907    
## BRCAd11/d11:siRNAsiALC1                     1.00000    
## poly(Olaparib, 2)1:BRCAd11/d11:siRNAsiALC1  0.04302 *  
## poly(Olaparib, 2)2:BRCAd11/d11:siRNAsiALC1  0.52649    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1225 on 36 degrees of freedom
## Multiple R-squared:  0.9712, Adjusted R-squared:  0.9624 
## F-statistic: 110.3 on 11 and 36 DF,  p-value: < 2.2e-16
cat("AIC: ", AIC(fit6))
## AIC:  -53.13147
simres <- simulateResiduals(fittedModel = fit6)
plot(simres)

fit7 <- lm(NormCounts2 ~ poly(Olaparib,2)*BRCA*siRNA, data = dataset)
print(summary(fit7))
## 
## Call:
## lm(formula = NormCounts2 ~ poly(Olaparib, 2) * BRCA * siRNA, 
##     data = dataset)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.140847 -0.024239 -0.000486  0.032959  0.127939 
## 
## Coefficients:
##                                             Estimate Std. Error t value
## (Intercept)                                 0.862552   0.017137  50.332
## poly(Olaparib, 2)1                         -0.682445   0.118731  -5.748
## poly(Olaparib, 2)2                         -0.001037   0.118731  -0.009
## BRCAd11/d11                                -0.395841   0.024236 -16.333
## siRNAsiALC1                                -0.242325   0.024236  -9.999
## poly(Olaparib, 2)1:BRCAd11/d11             -1.768219   0.167911 -10.531
## poly(Olaparib, 2)2:BRCAd11/d11              0.100986   0.167911   0.601
## poly(Olaparib, 2)1:siRNAsiALC1             -0.943899   0.167911  -5.621
## poly(Olaparib, 2)2:siRNAsiALC1              0.263296   0.167911   1.568
## BRCAd11/d11:siRNAsiALC1                     0.192911   0.034275   5.628
## poly(Olaparib, 2)1:BRCAd11/d11:siRNAsiALC1  0.868342   0.237461   3.657
## poly(Olaparib, 2)2:BRCAd11/d11:siRNAsiALC1  0.033889   0.237461   0.143
##                                            Pr(>|t|)    
## (Intercept)                                 < 2e-16 ***
## poly(Olaparib, 2)1                         1.51e-06 ***
## poly(Olaparib, 2)2                          0.99308    
## BRCAd11/d11                                 < 2e-16 ***
## siRNAsiALC1                                6.24e-12 ***
## poly(Olaparib, 2)1:BRCAd11/d11             1.53e-12 ***
## poly(Olaparib, 2)2:BRCAd11/d11              0.55132    
## poly(Olaparib, 2)1:siRNAsiALC1             2.23e-06 ***
## poly(Olaparib, 2)2:siRNAsiALC1              0.12561    
## BRCAd11/d11:siRNAsiALC1                    2.18e-06 ***
## poly(Olaparib, 2)1:BRCAd11/d11:siRNAsiALC1  0.00081 ***
## poly(Olaparib, 2)2:BRCAd11/d11:siRNAsiALC1  0.88731    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.05937 on 36 degrees of freedom
## Multiple R-squared:  0.9769, Adjusted R-squared:  0.9699 
## F-statistic: 138.7 on 11 and 36 DF,  p-value: < 2.2e-16
cat("AIC: ", AIC(fit7))
## AIC:  -122.6989
simres <- simulateResiduals(fittedModel = fit7)
plot(simres)

fit8 <- lmer(Counts ~ poly(Olaparib,2)*BRCA*siRNA + (1|UID), data = dataset)
print(summary(fit8))
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Counts ~ poly(Olaparib, 2) * BRCA * siRNA + (1 | UID)
##    Data: dataset
## 
## REML criterion at convergence: 445.8
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -1.55381 -0.43817 -0.02146  0.30996  2.74542 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  UID      (Intercept) 22590    150.30  
##  Residual              8333     91.28  
## Number of obs: 48, groups:  UID, 12
## 
## Fixed effects:
##                                            Estimate Std. Error       df t value
## (Intercept)                                 1205.58      90.69     8.00  13.294
## poly(Olaparib, 2)1                          -978.05     182.57    28.00  -5.357
## poly(Olaparib, 2)2                            21.62     182.57    28.00   0.118
## BRCAd11/d11                                 -738.75     128.25     8.00  -5.760
## siRNAsiALC1                                 -296.50     128.25     8.00  -2.312
## poly(Olaparib, 2)1:BRCAd11/d11             -1457.05     258.19    28.00  -5.643
## poly(Olaparib, 2)2:BRCAd11/d11                58.32     258.19    28.00   0.226
## poly(Olaparib, 2)1:siRNAsiALC1             -1413.25     258.19    28.00  -5.474
## poly(Olaparib, 2)2:siRNAsiALC1               407.20     258.19    28.00   1.577
## BRCAd11/d11:siRNAsiALC1                      128.42     181.38     8.00   0.708
## poly(Olaparib, 2)1:BRCAd11/d11:siRNAsiALC1  2030.29     365.13    28.00   5.560
## poly(Olaparib, 2)2:BRCAd11/d11:siRNAsiALC1  -195.54     365.13    28.00  -0.536
##                                            Pr(>|t|)    
## (Intercept)                                9.79e-07 ***
## poly(Olaparib, 2)1                         1.05e-05 ***
## poly(Olaparib, 2)2                         0.906555    
## BRCAd11/d11                                0.000424 ***
## siRNAsiALC1                                0.049547 *  
## poly(Olaparib, 2)1:BRCAd11/d11             4.80e-06 ***
## poly(Olaparib, 2)2:BRCAd11/d11             0.822934    
## poly(Olaparib, 2)1:siRNAsiALC1             7.61e-06 ***
## poly(Olaparib, 2)2:siRNAsiALC1             0.125992    
## BRCAd11/d11:siRNAsiALC1                    0.499046    
## poly(Olaparib, 2)1:BRCAd11/d11:siRNAsiALC1 6.01e-06 ***
## poly(Olaparib, 2)2:BRCAd11/d11:siRNAsiALC1 0.596506    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##                    (Intr) pl(O,2)1 pl(O,2)2 BRCAd11/11 sRNAAL
## ply(Olp,2)1         0.000                                    
## ply(Olp,2)2         0.000  0.000                             
## BRCAd11/d11        -0.707  0.000    0.000                    
## siRNAsiALC1        -0.707  0.000    0.000    0.500           
## pl(O,2)1:BRCA11/11  0.000 -0.707    0.000    0.000      0.000
## pl(O,2)2:BRCA11/11  0.000  0.000   -0.707    0.000      0.000
## p(O,2)1:RNA         0.000 -0.707    0.000    0.000      0.000
## p(O,2)2:RNA         0.000  0.000   -0.707    0.000      0.000
## BRCA11/11:R         0.500  0.000    0.000   -0.707     -0.707
## p(O,2)1:BRCA11/11:  0.000  0.500    0.000    0.000      0.000
## p(O,2)2:BRCA11/11:  0.000  0.000    0.500    0.000      0.000
##                    pl(O,2)1:BRCA11/11 pl(O,2)2:BRCA11/11 p(O,2)1:R p(O,2)2:R
## ply(Olp,2)1                                                                 
## ply(Olp,2)2                                                                 
## BRCAd11/d11                                                                 
## siRNAsiALC1                                                                 
## pl(O,2)1:BRCA11/11                                                          
## pl(O,2)2:BRCA11/11  0.000                                                   
## p(O,2)1:RNA         0.500              0.000                                
## p(O,2)2:RNA         0.000              0.500              0.000             
## BRCA11/11:R         0.000              0.000              0.000     0.000   
## p(O,2)1:BRCA11/11: -0.707              0.000             -0.707     0.000   
## p(O,2)2:BRCA11/11:  0.000             -0.707              0.000    -0.707   
##                    BRCA11/11: p(O,2)1:BRCA11/11:
## ply(Olp,2)1                                     
## ply(Olp,2)2                                     
## BRCAd11/d11                                     
## siRNAsiALC1                                     
## pl(O,2)1:BRCA11/11                              
## pl(O,2)2:BRCA11/11                              
## p(O,2)1:RNA                                     
## p(O,2)2:RNA                                     
## BRCA11/11:R                                     
## p(O,2)1:BRCA11/11:  0.000                       
## p(O,2)2:BRCA11/11:  0.000      0.000
cat("AIC: ", AIC(fit8))
## AIC:  473.7934
simres <- simulateResiduals(fittedModel = fit8)
plot(simres)

Cubic formula

fit9 <- lm(Counts ~ Experiment + poly(Olaparib,3)*BRCA*siRNA, data = dataset)
print(summary(fit9))
## 
## Call:
## lm(formula = Counts ~ Experiment + poly(Olaparib, 3) * BRCA * 
##     siRNA, data = dataset)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -253.02  -82.27  -32.53   81.95  410.29 
## 
## Coefficients:
##                                            Estimate Std. Error t value Pr(>|t|)
## (Intercept)                                 1273.27      57.91  21.988  < 2e-16
## Experimentexp2                               -51.31      57.91  -0.886 0.382615
## Experimentexp3                              -151.75      57.91  -2.621 0.013647
## poly(Olaparib, 3)1                          -978.05     327.58  -2.986 0.005588
## poly(Olaparib, 3)2                            21.63     327.58   0.066 0.947803
## poly(Olaparib, 3)3                           159.70     327.58   0.488 0.629439
## BRCAd11/d11                                 -738.75      66.87 -11.048 4.27e-12
## siRNAsiALC1                                 -296.50      66.87  -4.434 0.000114
## poly(Olaparib, 3)1:BRCAd11/d11             -1457.05     463.27  -3.145 0.003729
## poly(Olaparib, 3)2:BRCAd11/d11                58.32     463.27   0.126 0.900660
## poly(Olaparib, 3)3:BRCAd11/d11              -347.75     463.27  -0.751 0.458712
## poly(Olaparib, 3)1:siRNAsiALC1             -1413.25     463.27  -3.051 0.004744
## poly(Olaparib, 3)2:siRNAsiALC1               407.20     463.27   0.879 0.386398
## poly(Olaparib, 3)3:siRNAsiALC1              -374.03     463.27  -0.807 0.425809
## BRCAd11/d11:siRNAsiALC1                      128.42      94.56   1.358 0.184596
## poly(Olaparib, 3)1:BRCAd11/d11:siRNAsiALC1  2030.29     655.16   3.099 0.004196
## poly(Olaparib, 3)2:BRCAd11/d11:siRNAsiALC1  -195.54     655.16  -0.298 0.767405
## poly(Olaparib, 3)3:BRCAd11/d11:siRNAsiALC1   509.78     655.16   0.778 0.442606
##                                               
## (Intercept)                                ***
## Experimentexp2                                
## Experimentexp3                             *  
## poly(Olaparib, 3)1                         ** 
## poly(Olaparib, 3)2                            
## poly(Olaparib, 3)3                            
## BRCAd11/d11                                ***
## siRNAsiALC1                                ***
## poly(Olaparib, 3)1:BRCAd11/d11             ** 
## poly(Olaparib, 3)2:BRCAd11/d11                
## poly(Olaparib, 3)3:BRCAd11/d11                
## poly(Olaparib, 3)1:siRNAsiALC1             ** 
## poly(Olaparib, 3)2:siRNAsiALC1                
## poly(Olaparib, 3)3:siRNAsiALC1                
## BRCAd11/d11:siRNAsiALC1                       
## poly(Olaparib, 3)1:BRCAd11/d11:siRNAsiALC1 ** 
## poly(Olaparib, 3)2:BRCAd11/d11:siRNAsiALC1    
## poly(Olaparib, 3)3:BRCAd11/d11:siRNAsiALC1    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 163.8 on 30 degrees of freedom
## Multiple R-squared:  0.9283, Adjusted R-squared:  0.8877 
## F-statistic: 22.85 on 17 and 30 DF,  p-value: 1.178e-12
cat("AIC: ", AIC(fit9))
## AIC:  641.1222
simres <- simulateResiduals(fittedModel = fit9)
plot(simres)

fit10 <- lm(NormCounts ~ poly(Olaparib,3)*BRCA*siRNA, data = dataset)
print(summary(fit10))
## 
## Call:
## lm(formula = NormCounts ~ poly(Olaparib, 3) * BRCA * siRNA, data = dataset)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.278103 -0.033952 -0.009605  0.045784  0.266381 
## 
## Coefficients:
##                                              Estimate Std. Error t value
## (Intercept)                                 1.000e+00  3.471e-02  28.806
## poly(Olaparib, 3)1                         -7.912e-01  2.405e-01  -3.290
## poly(Olaparib, 3)2                         -1.202e-03  2.405e-01  -0.005
## poly(Olaparib, 3)3                          1.370e-01  2.405e-01   0.570
## BRCAd11/d11                                 5.440e-16  4.909e-02   0.000
## siRNAsiALC1                                 5.092e-16  4.909e-02   0.000
## poly(Olaparib, 3)1:BRCAd11/d11             -4.460e+00  3.401e-01 -13.112
## poly(Olaparib, 3)2:BRCAd11/d11              2.154e-01  3.401e-01   0.633
## poly(Olaparib, 3)3:BRCAd11/d11             -5.875e-01  3.401e-01  -1.727
## poly(Olaparib, 3)1:siRNAsiALC1             -1.831e+00  3.401e-01  -5.383
## poly(Olaparib, 3)2:siRNAsiALC1              4.240e-01  3.401e-01   1.247
## poly(Olaparib, 3)3:siRNAsiALC1             -3.674e-01  3.401e-01  -1.080
## BRCAd11/d11:siRNAsiALC1                    -3.292e-16  6.943e-02   0.000
## poly(Olaparib, 3)1:BRCAd11/d11:siRNAsiALC1  1.028e+00  4.810e-01   2.137
## poly(Olaparib, 3)2:BRCAd11/d11:siRNAsiALC1  3.135e-01  4.810e-01   0.652
## poly(Olaparib, 3)3:BRCAd11/d11:siRNAsiALC1  6.275e-01  4.810e-01   1.305
##                                            Pr(>|t|)    
## (Intercept)                                 < 2e-16 ***
## poly(Olaparib, 3)1                          0.00245 ** 
## poly(Olaparib, 3)2                          0.99604    
## poly(Olaparib, 3)3                          0.57284    
## BRCAd11/d11                                 1.00000    
## siRNAsiALC1                                 1.00000    
## poly(Olaparib, 3)1:BRCAd11/d11             2.05e-14 ***
## poly(Olaparib, 3)2:BRCAd11/d11              0.53113    
## poly(Olaparib, 3)3:BRCAd11/d11              0.09375 .  
## poly(Olaparib, 3)1:siRNAsiALC1             6.52e-06 ***
## poly(Olaparib, 3)2:siRNAsiALC1              0.22155    
## poly(Olaparib, 3)3:siRNAsiALC1              0.28820    
## BRCAd11/d11:siRNAsiALC1                     1.00000    
## poly(Olaparib, 3)1:BRCAd11/d11:siRNAsiALC1  0.04030 *  
## poly(Olaparib, 3)2:BRCAd11/d11:siRNAsiALC1  0.51925    
## poly(Olaparib, 3)3:BRCAd11/d11:siRNAsiALC1  0.20137    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1203 on 32 degrees of freedom
## Multiple R-squared:  0.9753, Adjusted R-squared:  0.9638 
## F-statistic: 84.32 on 15 and 32 DF,  p-value: < 2.2e-16
cat("AIC: ", AIC(fit10))
## AIC:  -52.58635
simres <- simulateResiduals(fittedModel = fit10)
plot(simres)

fit11 <- lm(NormCounts2 ~ poly(Olaparib,3)*BRCA*siRNA, data = dataset)
print(summary(fit11))
## 
## Call:
## lm(formula = NormCounts2 ~ poly(Olaparib, 3) * BRCA * siRNA, 
##     data = dataset)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.116052 -0.025650 -0.004428  0.021368  0.111160 
## 
## Coefficients:
##                                             Estimate Std. Error t value
## (Intercept)                                 0.862552   0.016587  52.002
## poly(Olaparib, 3)1                         -0.682445   0.114918  -5.939
## poly(Olaparib, 3)2                         -0.001037   0.114918  -0.009
## poly(Olaparib, 3)3                          0.118190   0.114918   1.028
## BRCAd11/d11                                -0.395841   0.023458 -16.875
## siRNAsiALC1                                -0.242325   0.023458 -10.330
## poly(Olaparib, 3)1:BRCAd11/d11             -1.768219   0.162519 -10.880
## poly(Olaparib, 3)2:BRCAd11/d11              0.100986   0.162519   0.621
## poly(Olaparib, 3)3:BRCAd11/d11             -0.328440   0.162519  -2.021
## poly(Olaparib, 3)1:siRNAsiALC1             -0.943899   0.162519  -5.808
## poly(Olaparib, 3)2:siRNAsiALC1              0.263296   0.162519   1.620
## poly(Olaparib, 3)3:siRNAsiALC1             -0.261047   0.162519  -1.606
## BRCAd11/d11:siRNAsiALC1                     0.192911   0.033174   5.815
## poly(Olaparib, 3)1:BRCAd11/d11:siRNAsiALC1  0.868342   0.229837   3.778
## poly(Olaparib, 3)2:BRCAd11/d11:siRNAsiALC1  0.033889   0.229837   0.147
## poly(Olaparib, 3)3:BRCAd11/d11:siRNAsiALC1  0.391861   0.229837   1.705
##                                            Pr(>|t|)    
## (Intercept)                                 < 2e-16 ***
## poly(Olaparib, 3)1                         1.30e-06 ***
## poly(Olaparib, 3)2                          0.99286    
## poly(Olaparib, 3)3                          0.31144    
## BRCAd11/d11                                 < 2e-16 ***
## siRNAsiALC1                                1.02e-11 ***
## poly(Olaparib, 3)1:BRCAd11/d11             2.77e-12 ***
## poly(Olaparib, 3)2:BRCAd11/d11              0.53875    
## poly(Olaparib, 3)3:BRCAd11/d11              0.05172 .  
## poly(Olaparib, 3)1:siRNAsiALC1             1.89e-06 ***
## poly(Olaparib, 3)2:siRNAsiALC1              0.11503    
## poly(Olaparib, 3)3:siRNAsiALC1              0.11804    
## BRCAd11/d11:siRNAsiALC1                    1.85e-06 ***
## poly(Olaparib, 3)1:BRCAd11/d11:siRNAsiALC1  0.00065 ***
## poly(Olaparib, 3)2:BRCAd11/d11:siRNAsiALC1  0.88370    
## poly(Olaparib, 3)3:BRCAd11/d11:siRNAsiALC1  0.09789 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.05746 on 32 degrees of freedom
## Multiple R-squared:  0.9808, Adjusted R-squared:  0.9718 
## F-statistic:   109 on 15 and 32 DF,  p-value: < 2.2e-16
cat("AIC: ", AIC(fit11))
## AIC:  -123.4856
simres <- simulateResiduals(fittedModel = fit11)
plot(simres)

fit12 <- lmer(Counts ~ poly(Olaparib,3)*BRCA*siRNA + (1|UID), data = dataset)
print(summary(fit12))
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Counts ~ poly(Olaparib, 3) * BRCA * siRNA + (1 | UID)
##    Data: dataset
## 
## REML criterion at convergence: 393.5
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -1.51696 -0.31458 -0.01041  0.24104  2.61582 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  UID      (Intercept) 22528    150.09  
##  Residual              8580     92.63  
## Number of obs: 48, groups:  UID, 12
## 
## Fixed effects:
##                                            Estimate Std. Error       df t value
## (Intercept)                                 1205.58      90.69     8.00  13.294
## poly(Olaparib, 3)1                          -978.05     185.26    24.00  -5.279
## poly(Olaparib, 3)2                            21.62     185.26    24.00   0.117
## poly(Olaparib, 3)3                           159.70     185.26    24.00   0.862
## BRCAd11/d11                                 -738.75     128.25     8.00  -5.760
## siRNAsiALC1                                 -296.50     128.25     8.00  -2.312
## poly(Olaparib, 3)1:BRCAd11/d11             -1457.05     262.00    24.00  -5.561
## poly(Olaparib, 3)2:BRCAd11/d11                58.32     262.00    24.00   0.223
## poly(Olaparib, 3)3:BRCAd11/d11              -347.75     262.00    24.00  -1.327
## poly(Olaparib, 3)1:siRNAsiALC1             -1413.25     262.00    24.00  -5.394
## poly(Olaparib, 3)2:siRNAsiALC1               407.20     262.00    24.00   1.554
## poly(Olaparib, 3)3:siRNAsiALC1              -374.03     262.00    24.00  -1.428
## BRCAd11/d11:siRNAsiALC1                      128.42     181.38     8.00   0.708
## poly(Olaparib, 3)1:BRCAd11/d11:siRNAsiALC1  2030.29     370.52    24.00   5.480
## poly(Olaparib, 3)2:BRCAd11/d11:siRNAsiALC1  -195.54     370.52    24.00  -0.528
## poly(Olaparib, 3)3:BRCAd11/d11:siRNAsiALC1   509.78     370.52    24.00   1.376
##                                            Pr(>|t|)    
## (Intercept)                                9.79e-07 ***
## poly(Olaparib, 3)1                         2.05e-05 ***
## poly(Olaparib, 3)2                         0.908046    
## poly(Olaparib, 3)3                         0.397206    
## BRCAd11/d11                                0.000424 ***
## siRNAsiALC1                                0.049547 *  
## poly(Olaparib, 3)1:BRCAd11/d11             1.01e-05 ***
## poly(Olaparib, 3)2:BRCAd11/d11             0.825733    
## poly(Olaparib, 3)3:BRCAd11/d11             0.196898    
## poly(Olaparib, 3)1:siRNAsiALC1             1.54e-05 ***
## poly(Olaparib, 3)2:siRNAsiALC1             0.133221    
## poly(Olaparib, 3)3:siRNAsiALC1             0.166291    
## BRCAd11/d11:siRNAsiALC1                    0.499046    
## poly(Olaparib, 3)1:BRCAd11/d11:siRNAsiALC1 1.24e-05 ***
## poly(Olaparib, 3)2:BRCAd11/d11:siRNAsiALC1 0.602518    
## poly(Olaparib, 3)3:BRCAd11/d11:siRNAsiALC1 0.181577    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
cat("AIC: ", AIC(fit12))
## AIC:  429.4881
simres <- simulateResiduals(fittedModel = fit12)
plot(simres)

Compare Results

ICtab(fit1,fit2,fit3,fit4,
      fit5,fit6,fit7,fit8,
      fit9,fit10,fit11,fit12,
      base=T)
##       AIC    dAIC   df
## fit11 -123.5    0.0 17
## fit7  -122.7    0.8 13
## fit3  -112.3   11.1 9 
## fit6   -53.1   70.4 13
## fit10  -52.6   70.9 17
## fit2   -40.9   82.5 9 
## fit12  429.5  553.0 18
## fit8   473.8  597.3 14
## fit4   540.3  663.8 10
## fit1   630.5  754.0 11
## fit5   634.7  758.2 15
## fit9   641.1  764.6 19

Final Result

fit <- fit11

output <- coef(summary(fit))
output <- output[grep("Olaparib", rownames(output)),]

rownames(output) <- gsub("poly\\(|, [1-3]\\)","", rownames(output) )
rownames(output) <- gsub("siRNA",  paste0(" ",levels(dataset$siRNA)[1], " vs. "), rownames(output))
rownames(output)[!(grepl("vs", rownames(output)))] <- paste(rownames(output)[!(grepl("vs", rownames(output)))], levels(dataset$siRNA)[1],  sep = " in " )

rownames(output) <- gsub("BRCA",  paste0(" ",levels(dataset$BRCA)[1], " vs. "), rownames(output))
rownames(output)[!(grepl("vs.*vs|in", rownames(output)))] <- paste(rownames(output)[!(grepl("vs.*vs|in", rownames(output)))], levels(dataset$BRCA)[1],  sep = " in " )

rownames(output)[!(grepl("vs", rownames(output)))] <- paste(rownames(output)[!(grepl("vs", rownames(output)))], levels(dataset$BRCA)[1],  sep = " " )


# suggested result table
kable(output, row.names = T)
Estimate Std. Error t value Pr(>|t|)
Olaparib1 in siCtrl d11/heterozyg -0.6824454 0.1149183 -5.9385266 0.0000013
Olaparib2 in siCtrl d11/heterozyg -0.0010369 0.1149183 -0.0090225 0.9928572
Olaparib3 in siCtrl d11/heterozyg 0.1181898 0.1149183 1.0284684 0.3114411
Olaparib1: d11/heterozyg vs. d11/d11 in siCtrl -1.7682189 0.1625190 -10.8800730 0.0000000
Olaparib2: d11/heterozyg vs. d11/d11 in siCtrl 0.1009862 0.1625190 0.6213805 0.5387510
Olaparib3: d11/heterozyg vs. d11/d11 in siCtrl -0.3284400 0.1625190 -2.0209328 0.0517199
Olaparib1: siCtrl vs. siALC1 in d11/heterozyg -0.9438987 0.1625190 -5.8079270 0.0000019
Olaparib2: siCtrl vs. siALC1 in d11/heterozyg 0.2632965 0.1625190 1.6200963 0.1150261
Olaparib3: siCtrl vs. siALC1 in d11/heterozyg -0.2610471 0.1625190 -1.6062556 0.1180422
Olaparib1: d11/heterozyg vs. d11/d11: siCtrl vs. siALC1 0.8683423 0.2298366 3.7780849 0.0006505
Olaparib2: d11/heterozyg vs. d11/d11: siCtrl vs. siALC1 0.0338888 0.2298366 0.1474471 0.8837042
Olaparib3: d11/heterozyg vs. d11/d11: siCtrl vs. siALC1 0.3918611 0.2298366 1.7049550 0.0978945
write.table(output, file = "Figure5B_Stats_Ref_d11_heterozyg_siCtrl.txt", quote = F, sep = "\t", row.names = T, col.names = NA)
dataset$BRCA <- relevel(dataset$BRCA, ref = "d11/d11")

fit <- lm(NormCounts2 ~ poly(Olaparib,3)*BRCA*siRNA, data = dataset)

output <- coef(summary(fit))
output <- output[grep("Olaparib", rownames(output)),]

rownames(output) <- gsub("poly\\(|, [1-3]\\)","", rownames(output) )
rownames(output) <- gsub("siRNA",  paste0(" ",levels(dataset$siRNA)[1], " vs. "), rownames(output))
rownames(output)[!(grepl("vs", rownames(output)))] <- paste(rownames(output)[!(grepl("vs", rownames(output)))], levels(dataset$siRNA)[1],  sep = " in " )

rownames(output) <- gsub("BRCA",  paste0(" ",levels(dataset$BRCA)[1], " vs. "), rownames(output))
rownames(output)[!(grepl("vs.*vs|in", rownames(output)))] <- paste(rownames(output)[!(grepl("vs.*vs|in", rownames(output)))], levels(dataset$BRCA)[1],  sep = " in " )

rownames(output)[!(grepl("vs", rownames(output)))] <- paste(rownames(output)[!(grepl("vs", rownames(output)))], levels(dataset$BRCA)[1],  sep = " " )




# suggested result table
kable(output, row.names = T)
Estimate Std. Error t value Pr(>|t|)
Olaparib1 in siCtrl d11/d11 -2.4506644 0.1149183 -21.3252734 0.0000000
Olaparib2 in siCtrl d11/d11 0.0999493 0.1149183 0.8697422 0.3909187
Olaparib3 in siCtrl d11/d11 -0.2102502 0.1149183 -1.8295622 0.0766464
Olaparib1: d11/d11 vs. d11/heterozyg in siCtrl 1.7682189 0.1625190 10.8800730 0.0000000
Olaparib2: d11/d11 vs. d11/heterozyg in siCtrl -0.1009862 0.1625190 -0.6213805 0.5387510
Olaparib3: d11/d11 vs. d11/heterozyg in siCtrl 0.3284400 0.1625190 2.0209328 0.0517199
Olaparib1: siCtrl vs. siALC1 in d11/d11 -0.0755564 0.1625190 -0.4649081 0.6451454
Olaparib2: siCtrl vs. siALC1 in d11/d11 0.2971852 0.1625190 1.8286180 0.0767913
Olaparib3: siCtrl vs. siALC1 in d11/d11 0.1308140 0.1625190 0.8049148 0.4268091
Olaparib1: d11/d11 vs. d11/heterozyg: siCtrl vs. siALC1 -0.8683423 0.2298366 -3.7780849 0.0006505
Olaparib2: d11/d11 vs. d11/heterozyg: siCtrl vs. siALC1 -0.0338888 0.2298366 -0.1474471 0.8837042
Olaparib3: d11/d11 vs. d11/heterozyg: siCtrl vs. siALC1 -0.3918611 0.2298366 -1.7049550 0.0978945
write.table(output, file = "Figure5B_Stats_Ref_d11_d11_siCtrl.txt", quote = F, sep = "\t", row.names = T, col.names = NA)
dataset$BRCA <- relevel(dataset$BRCA, ref = "d11/heterozyg")
dataset$siRNA <- relevel(dataset$siRNA, ref = "siALC1")

fit <- lm(NormCounts2 ~ poly(Olaparib,3)*BRCA*siRNA, data = dataset)

output <- coef(summary(fit))
output <- output[grep("Olaparib", rownames(output)),]

rownames(output) <- gsub("poly\\(|, [1-3]\\)","", rownames(output) )
rownames(output) <- gsub("siRNA",  paste0(" ",levels(dataset$siRNA)[1], " vs. "), rownames(output))
rownames(output)[!(grepl("vs", rownames(output)))] <- paste(rownames(output)[!(grepl("vs", rownames(output)))], levels(dataset$siRNA)[1],  sep = " in " )

rownames(output) <- gsub("BRCA",  paste0(" ",levels(dataset$BRCA)[1], " vs. "), rownames(output))
rownames(output)[!(grepl("vs.*vs|in", rownames(output)))] <- paste(rownames(output)[!(grepl("vs.*vs|in", rownames(output)))], levels(dataset$BRCA)[1],  sep = " in " )

rownames(output)[!(grepl("vs", rownames(output)))] <- paste(rownames(output)[!(grepl("vs", rownames(output)))], levels(dataset$BRCA)[1],  sep = " " )




# suggested result table
kable(output, row.names = T)
Estimate Std. Error t value Pr(>|t|)
Olaparib1 in siALC1 d11/heterozyg -1.6263441 0.1149183 -14.1521758 0.0000000
Olaparib2 in siALC1 d11/heterozyg 0.2622596 0.1149183 2.2821396 0.0292728
Olaparib3 in siALC1 d11/heterozyg -0.1428573 0.1149183 -1.2431201 0.2228550
Olaparib1: d11/heterozyg vs. d11/d11 in siALC1 -0.8998767 0.1625190 -5.5370541 0.0000042
Olaparib2: d11/heterozyg vs. d11/d11 in siALC1 0.1348749 0.1625190 0.8299022 0.4127427
Olaparib3: d11/heterozyg vs. d11/d11 in siALC1 0.0634210 0.1625190 0.3902376 0.6989465
Olaparib1: siALC1 vs. siCtrl in d11/heterozyg 0.9438987 0.1625190 5.8079270 0.0000019
Olaparib2: siALC1 vs. siCtrl in d11/heterozyg -0.2632965 0.1625190 -1.6200963 0.1150261
Olaparib3: siALC1 vs. siCtrl in d11/heterozyg 0.2610471 0.1625190 1.6062556 0.1180422
Olaparib1: d11/heterozyg vs. d11/d11: siALC1 vs. siCtrl -0.8683423 0.2298366 -3.7780849 0.0006505
Olaparib2: d11/heterozyg vs. d11/d11: siALC1 vs. siCtrl -0.0338888 0.2298366 -0.1474471 0.8837042
Olaparib3: d11/heterozyg vs. d11/d11: siALC1 vs. siCtrl -0.3918611 0.2298366 -1.7049550 0.0978945
write.table(output, file = "Figure5B_Stats_Ref_d11_heterozyg_siALC1.txt", quote = F, sep = "\t", row.names = T, col.names = NA)

Anova

fit11a <- lm(NormCounts2 ~ poly(Olaparib,3)*BRCA*siRNA, data = dataset)
fit11b <- lm(NormCounts2 ~ poly(Olaparib,3)*BRCA+siRNA, data = dataset)

# anova table
anova(fit11a, fit11b)
## Analysis of Variance Table
## 
## Model 1: NormCounts2 ~ poly(Olaparib, 3) * BRCA * siRNA
## Model 2: NormCounts2 ~ poly(Olaparib, 3) * BRCA + siRNA
##   Res.Df     RSS Df Sum of Sq      F    Pr(>F)    
## 1     32 0.10565                                  
## 2     39 0.35974 -7  -0.25409 10.994 5.444e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
fit11c <- lm(NormCounts2 ~ poly(Olaparib,3)*siRNA*BRCA, data = dataset)
fit11d <- lm(NormCounts2 ~ poly(Olaparib,3)*siRNA+BRCA, data = dataset)

# anova table
anova(fit11c, fit11d)
## Analysis of Variance Table
## 
## Model 1: NormCounts2 ~ poly(Olaparib, 3) * siRNA * BRCA
## Model 2: NormCounts2 ~ poly(Olaparib, 3) * siRNA + BRCA
##   Res.Df     RSS Df Sum of Sq     F    Pr(>F)    
## 1     32 0.10565                                 
## 2     39 0.72688 -7  -0.62123 26.88 1.095e-11 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1